// import 'package:cached_network_image/cached_network_image.dart';
// import 'package:flutter/material.dart';
// import 'package:html/parser.dart';
// import 'package:html/dom.dart' as dom;
//
// TextSpan buildInput(String input) {
//   var doc = parse(input);
//   var spanList = <InlineSpan>[];
//   for (var value in doc.querySelector('html > body')!.nodes) {
//     if (value.runtimeType.toString() == 'Text') {
//       spanList.add(TextSpan(text: value.text?.trim()));
//     } else {
//       if (value.toString() == '<html p>') {
//         for (var ccc in value.nodes) {
//           if (ccc.runtimeType.toString() == 'Text') {
//             spanList.add(TextSpan(text: ccc.text?.trim()));
//           } else {
//             var ddd = ccc as dom.Element;
//             spanList.add(buildInput(ddd.outerHtml));
//           }
//         }
//         spanList.add(const TextSpan(text: '\n'));
//       }
//
//       if (value.toString() == '<html article>') {
//         var chi = <InlineSpan>[];
//         TextSpan span = TextSpan(children: chi);
//         var container = Container(
//           color: Colors.lightGreen,
//           child: Text.rich(span),
//         );
//         for (var ddd in value.nodes) {
//           if (ddd.runtimeType.toString() == 'Text') {
//             chi.add(TextSpan(text: ddd.text?.trim()));
//           } else {
//             var _ddd = ddd as dom.Element;
//             chi.add(buildInput(_ddd.outerHtml));
//           }
//         }
//         spanList.add(WidgetSpan(child: container));
//         spanList.add(const TextSpan(text: '\n'));
//       }
//       if (value.toString() == '<html header>') {
//         var chi = <InlineSpan>[];
//         TextSpan span = TextSpan(children: chi);
//         var container = Container(
//           color: Colors.lightGreen,
//           child: Text.rich(span),
//         );
//         for (var ddd in value.nodes) {
//           if (ddd.runtimeType.toString() == 'Text') {
//             chi.add(TextSpan(text: ddd.text?.trim()));
//           } else {
//             var _ddd = ddd as dom.Element;
//             chi.add(buildInput(_ddd.outerHtml));
//           }
//         }
//         spanList.add(WidgetSpan(child: container));
//         spanList.add(const TextSpan(text: '\n'));
//       }
//       if (value.toString() == '<html pre>') {
//         var chi = <InlineSpan>[];
//         TextSpan span = TextSpan(children: chi);
//         var container = Container(
//           color: Colors.lightBlue,
//           child: Text.rich(span),
//         );
//         for (var ddd in value.nodes) {
//           if (ddd.runtimeType.toString() == 'Text') {
//             chi.add(TextSpan(text: ddd.text?.trim()));
//           } else {
//             var _ddd = ddd as dom.Element;
//             chi.add(buildInput(_ddd.outerHtml));
//           }
//         }
//         spanList.add(WidgetSpan(child: container));
//         spanList.add(const TextSpan(text: '\n'));
//       }
//       if (value.toString() == '<html code>') {
//         spanList.add(TextSpan(text: value.text));
//       }
//       if (value.toString() == '<html table>') {
//         List<TableRow> rows = [];
//         spanList.add(WidgetSpan(
//             child: Table(
//           border: TableBorder.all(),
//           children: rows,
//         )));
//         for (var ddd in value.children) {
//           var rowC = <Widget>[];
//           for (var c_ddd in ddd.children) {
//             if (c_ddd.toString() == '<html tr>') {
//               for (var tr in c_ddd.children) {
//                 rowC.add(Text.rich(buildInput(tr.outerHtml)));
//               }
//             }
//           }
//           rows.add(TableRow(children: rowC));
//         }
//       }
//       if (value.toString() == '<html td>') {
//         spanList.add(TextSpan(text: value.text?.trim()));
//       }
//       if (value.toString() == '<html s>') {
//         spanList.add(TextSpan(
//             text: value.text?.trim(),
//             style: const TextStyle(
//               decoration: TextDecoration.lineThrough,
//               decorationStyle: TextDecorationStyle.solid,
//               decorationThickness: 2,
//               decorationColor: Colors.red,
//             )));
//       }
//       if (value.toString() == '<html a>') {
//         for (var ddd in value.nodes) {
//           if (ddd.runtimeType.toString() == 'Text') {
//             spanList.add(WidgetSpan(
//                 child: MouseRegion(
//               cursor: SystemMouseCursors.click,
//               child: GestureDetector(
//                 onTap: () {},
//                 child: Text(
//                   value.text?.trim() ?? '',
//                   style: TextStyle(foreground: Paint()..color = Colors.blue),
//                 ),
//               ),
//             )));
//           } else {
//             var _ddd = ddd as dom.Element;
//             spanList.add(buildInput(_ddd.outerHtml));
//           }
//         }
//       }
//       if (value.toString() == '<html span>') {
//         if (value.attributes['class'] != 'informations' &&
//             value.attributes['class'] != 'filename') {
//           spanList.add(TextSpan(
//               text: value.text,
//               style: TextStyle(foreground: Paint()..color = Colors.purple)));
//         }
//       }
//       if (value.toString() == '<html br>') {
//         spanList.add(const TextSpan(text: '\n'));
//       }
//       if (value.toString() == '<html div>') {
//         for (var yyy in value.nodes) {
//           if (yyy.runtimeType.toString() == 'Text') {
//             spanList.add(TextSpan(text: yyy.text?.trim()));
//           } else {
//             var _yyy = yyy as dom.Element;
//             spanList.add(buildInput(_yyy.outerHtml));
//           }
//         }
//         spanList.add(const TextSpan(text: '\n'));
//       }
//       if (value.toString() == '<html img>' &&
//           value.attributes['class'] == 'emoji') {
//         var src = value.attributes['src']!.replaceAll('\\"', '');
//         src = src.contains('https://linux.do') ? src : 'https://linux.do$src';
//         spanList.add(WidgetSpan(
//             child: CachedNetworkImage(
//           width: 25,
//           height: 25,
//           imageUrl: src,
//         )));
//       } else if (value.toString() == '<html img>') {
//         var src = value.attributes['src']!;
//         spanList.add(WidgetSpan(child: CachedNetworkImage(imageUrl: src)));
//       }
//       if (value.toString() == '<html strong>') {
//         for (var yyy in value.nodes) {
//           if (yyy.runtimeType.toString() == 'Text') {
//             spanList.add(TextSpan(
//                 text: yyy.text?.trim(),
//                 style: const TextStyle(fontWeight: FontWeight.bold)));
//           } else {
//             var _yyy = yyy as dom.Element;
//             spanList.add(buildInput(_yyy.outerHtml));
//           }
//         }
//         // spanList.add(TextSpan(text: '\n'));
//       }
//       if (value.toString() == '<html h1>') {
//         for (var ddd in value.nodes) {
//           if (ddd.runtimeType.toString() == 'Text') {
//             spanList.add(TextSpan(text: ddd.text?.trim()));
//           } else {
//             var ddd6 = ddd as dom.Element;
//             spanList.add(buildInput(ddd6.outerHtml));
//           }
//         }
//         spanList.add(const TextSpan(text: '\n'));
//       }
//       if (value.toString() == '<html details>') {
//         for (var ddd in value.nodes) {
//           if (ddd.runtimeType.toString() == 'Text') {
//             spanList.add(TextSpan(
//                 text: ddd.text?.trim(),
//                 style: TextStyle(
//                     foreground: Paint()..color = Colors.greenAccent)));
//           } else {
//             spanList.add(buildInput((ddd as dom.Element).outerHtml));
//           }
//         }
//       }
//       if (value.toString() == '<html h2>') {
//         for (var ddd in value.nodes) {
//           if (ddd.runtimeType.toString() == 'Text') {
//             spanList.add(TextSpan(
//                 text: ddd.text?.trim(), style: const TextStyle(fontSize: 24)));
//           } else {
//             var ddd7 = ddd as dom.Element;
//             spanList.add(buildInput(ddd7.outerHtml));
//           }
//         }
//         spanList.add(const TextSpan(text: '\n'));
//       }
//       if (value.toString() == '<html aside>') {
//         var chi = <InlineSpan>[];
//         TextSpan span = TextSpan(children: chi);
//         var container = Container(
//           color: Colors.yellowAccent,
//           child: Text.rich(span),
//         );
//         for (var ddd in value.nodes) {
//           if (ddd.runtimeType.toString() == 'Text') {
//             chi.add(TextSpan(text: ddd.text?.trim()));
//           } else {
//             var ddd8 = ddd as dom.Element;
//             chi.add(buildInput(ddd8.outerHtml));
//           }
//         }
//         spanList.add(WidgetSpan(child: container));
//         spanList.add(const TextSpan(text: '\n'));
//       }
//       if (value.toString() == '<html h3>') {
//         for (var ddd in value.nodes) {
//           if (ddd.runtimeType.toString() == 'Text') {
//             spanList.add(TextSpan(
//                 text: ddd.text?.trim(),
//                 style: const TextStyle(
//                     fontSize: 16,
//                     fontWeight: FontWeight.bold,
//                     fontStyle: FontStyle.italic)));
//           } else {
//             var ddd0 = ddd as dom.Element;
//             spanList.add(buildInput(ddd0.outerHtml));
//           }
//         }
//         spanList.add(const TextSpan(text: '\n'));
//       }
//       if (value.toString() == '<html h4>') {
//         for (var ddd in value.nodes) {
//           if (ddd.runtimeType.toString() == 'Text') {
//             spanList.add(TextSpan(
//                 text: ddd.text?.trim(),
//                 style: const TextStyle(
//                     fontSize: 14,
//                     fontWeight: FontWeight.bold,
//                     fontStyle: FontStyle.italic)));
//           } else {
//             var ddd1 = ddd as dom.Element;
//             spanList.add(buildInput(ddd1.outerHtml));
//           }
//         }
//         spanList.add(const TextSpan(text: '\n'));
//       }
//       if (value.toString() == '<html hr>') {
//         spanList.add(const WidgetSpan(
//             child: Divider(
//           thickness: 2,
//           color: Colors.red,
//         )));
//       }
//       if (value.toString() == '<html li>') {
//         spanList.add(const TextSpan(text: '>> '));
//         for (var ddd in value.nodes) {
//           if (ddd.runtimeType.toString() == 'Text') {
//             spanList.add(TextSpan(text: ddd.text?.trim()));
//           } else {
//             var ddd2 = ddd as dom.Element;
//             spanList.add(buildInput(ddd2.outerHtml));
//           }
//         }
//         spanList.add(const TextSpan(text: '\n'));
//       }
//       if (value.toString() == '<html ul>') {
//         var chi = <InlineSpan>[];
//         TextSpan span = TextSpan(children: chi);
//         var container = Container(
//           color: Colors.deepPurple,
//           child: Text.rich(span),
//         );
//         for (var ddd in value.nodes) {
//           if (ddd.runtimeType.toString() == 'Text') {
//             chi.add(TextSpan(text: ddd.text?.trim()));
//           } else {
//             var ddd3 = ddd as dom.Element;
//             chi.add(buildInput(ddd3.outerHtml));
//           }
//         }
//         spanList.add(WidgetSpan(child: container));
//         spanList.add(const TextSpan(text: '\n'));
//       }
//       if (value.toString() == '<html ol>') {
//         var chi = <InlineSpan>[];
//         TextSpan span = TextSpan(children: chi);
//         var container = Container(
//           color: Colors.green,
//           child: Text.rich(span),
//         );
//         for (var ddd in value.nodes) {
//           if (ddd.runtimeType.toString() == 'Text') {
//             chi.add(TextSpan(text: ddd.text?.trim()));
//           } else {
//             var ddd4 = ddd as dom.Element;
//             chi.add(buildInput(ddd4.outerHtml));
//           }
//         }
//         spanList.add(WidgetSpan(child: container));
//         spanList.add(const TextSpan(text: '\n'));
//       }
//       if (value.toString() == '<html blockquote>') {
//         var chi = <InlineSpan>[];
//         TextSpan span = TextSpan(children: chi);
//         var container = Container(
//           color: Colors.orange,
//           child: Text.rich(span),
//         );
//
//         for (var ddd in value.nodes) {
//           if (ddd.runtimeType.toString() == 'Text') {
//             chi.add(TextSpan(text: ddd.text?.trim()));
//           } else {
//             var ddd5 = ddd as dom.Element;
//             chi.add(buildInput(ddd5.outerHtml));
//           }
//         }
//         spanList.add(WidgetSpan(child: container));
//         spanList.add(const TextSpan(text: '\n'));
//       }
//     }
//   }
//
//   var w = TextSpan(children: spanList);
//   return w;
// }
